package cn.xiaolang.function.design_pattern.duty_chain_pattern_base;

/**
 * 责任链模式+有中介模式,享元模式的特点：任意组装处理链
 * <p>
 *    中介模式：用一个中介对象来封装一系列的对象交互，中介者使各对象不需要显式地相互引用，从而使其耦合松散，而且可以独立地改变它们之间的交互
 * </p>
 * <p>
 *    享元模式：旨在通过共享对象来减少内存使用和提高性能，适用于需要创建大量相似对象的场景，并且这些对象之间有很多共享的属性和行为
 * </p>
 */
public class SampleScheduler {
    public static void main(String[] args) {
        WorkerFirstProcessor startProcessor = new WorkerFirstProcessor();
        WorkerSecondProcessor secondaryProcessor = new WorkerSecondProcessor();
        WorkerThirdProcessor thirdProcessor = new WorkerThirdProcessor();
        startProcessor.setNext(secondaryProcessor);
        secondaryProcessor.setNext(thirdProcessor);
        startProcessor.process(new ProcessorContext());
    }
}
